/*csd*/define(function(require,exports,module){"use strict";var h=require("./utils");var c=require("./event");var g=require("./store");var a=require("./class");var e=require("./linq");var d=require("./language");var b=function(i){i.views=i.views||[];i.registerView=function(j){i.views.push(j);};i.removeView=function(k){var j=[];h.each(i.views,function(l,m){if(m!=k){j.push(m);}});i.views=j;};i.notifyRender=function(){h.each(i.views,function(j,k){k.render();});};};var f=exports.Model=a.create(function(){this.initialize=function(){var i=this;i.guid=h.newGuid();b(i);};});b(f);exports.create=function(i,j){if(!j){j=i;i=f;}j=j||{};return a.create(i,j);};exports.Model=f;});